package events
{
	import flash.display.InteractiveObject;
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.events.MouseEvent;
	import flash.events.TouchEvent;
	import flash.system.Capabilities;
	import flash.ui.Multitouch;
	import flash.utils.ByteArray;

	public class MouseTouchEvent extends Event
	{
		private var _screenTouchType:String;
		private var playerType:String;
		
		
		public var localX:Number=NaN;
		public var localY:Number=NaN;
		public var stageX:Number=NaN;
		public var stageY:Number=NaN;
		public var relatedObject:InteractiveObject=null;
		public var ctrlkey:Boolean=false;
		public var altKey:Boolean=false;
		public var shiftKey:Boolean=false;
		public var commandkey:Boolean=false;
		public var controlKey:Boolean=false;
		
		//mouse
		public var buttonDown:Boolean=false;
		public var delta:int=0;
		public var clickCount:int=0;
		
		//touch
		public var touchPointID:int=0;
		public var isPrimaryTouchPoint:Boolean=false;
		public var timestamp:Number=NaN;
		public var samples:ByteArray=null;
		public var isTouchPointCanceled:Boolean=false;
		public var sizeX:Number=NaN;
		public var sizeY:Number=NaN;
		public var obj:EventDispatcher;
		public var pressure:Number=NaN;
		public function MouseTouchEvent(_obj:EventDispatcher,type:String,_bubbles:Boolean=false, _cancelable:Boolean=false,_relatedObject:InteractiveObject=null, _localX:Number=NaN, _localY:Number=NaN,_stageX:Number=NaN,_stageY:Number=NaN,_touchPointID:int=0, _isPrimaryTouchPoint:Boolean=false,_pressure:Number=NaN,_sizeX:Number=NaN, _sizeY:Number=NaN, _ctrlKey:Boolean=false, _altKey:Boolean=false, _shiftKey:Boolean=false, _buttonDown:Boolean=false, _delta:int=0, _commandKey:Boolean=false, _controlKey:Boolean=false, _clickCount:int=0,_timestamp:Number=NaN,  _samples:ByteArray=null, _isTouchPointCanceled:Boolean=false)
		{
			super(type, _bubbles, _cancelable);
			obj=_obj;
			localX=_localX;
			localY=_localY;
			stageX=_stageX;
			stageY=_stageY;
			touchPointID=touchPointID;
			relatedObject=_relatedObject;
			isPrimaryTouchPoint=_isPrimaryTouchPoint;
			buttonDown=_buttonDown;
			delta=_delta;
			clickCount=_clickCount;
			timestamp=_timestamp;
			samples=_samples;
			isTouchPointCanceled=_isTouchPointCanceled;
			sizeX=_sizeX;
			sizeY=_sizeY;
			pressure=_pressure;
			ctrlkey=_ctrlKey;
			altKey=_altKey;
			shiftKey=_shiftKey;
			commandkey=_commandKey;
			controlKey=_controlKey;
			
		}
		
		

		public override function clone():Event
		{
			
			return new MouseTouchEvent(obj,type,bubbles, cancelable,relatedObject, localX ,localY,stageX,stageY,touchPointID, isPrimaryTouchPoint,pressure,sizeX, sizeY, controlKey, altKey, shiftKey, buttonDown, delta, commandkey, controlKey, clickCount,timestamp,  samples, isTouchPointCanceled)
		}
		
		
		

	}
}